//go:build linux

package pcdisklib

import (
	"fmt"
	"github.com/shirou/gopsutil/v3/disk"
	"reflect"
)

type DiskInfo struct {
}

func GetInfo() {
	ps, err := disk.Partitions(false)
	fmt.Println(len(ps), err)
	for i := range ps {
		if Contains(ps[i].Opts, "rw") {

		}
		fmt.Println(ps[i])
	}

}

// Contains 判断元素是否存在
// ps: go 中的 == 比较的是值是否相等；如果要比较对象是指针，比较的是内存地址
func Contains(array interface{}, val interface{}) (index bool) {
	index = false
	switch reflect.TypeOf(array).Kind() {
	case reflect.Slice:
		{
			s := reflect.ValueOf(array)
			for i := 0; i < s.Len(); i++ {
				if reflect.DeepEqual(val, s.Index(i).Interface()) {
					index = true
					return
				}
			}
		}
	}
	return
}
